package com.wx.wechat.enums.status;

import com.wx.core.enums.EnumStatus;

/**
 * @author wx
 * @Description: 微信状态枚举集合
 * @date 2018/10/31 003111:47
 */
public class WeChatEnumStatus {

    /**
     * @author wx
     * @Description: 签名类型
     * @date 2018-10-31
     */
    public enum SignType implements EnumStatus {
        /**
         * MD5
         */
        MD5(1, "MD5"),
        /**
         * HMACSHA256
         */
        HMACSHA256(2, "HMACSHA256");

        /**
         * 状态标识
         */
        private Integer code;

        /**
         * 描述
         */
        private String message;

        private SignType(int code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public Integer getCode() {
            return code;
        }

        @Override
        public String getMessage() {
            return message;
        }
    }


    /**
     * @author wx
     * @Description: 支付类型
     * @date 2018-10-31
     */
    public enum PayType implements EnumStatus {
        /**
         * 公众号支付/小程序支付
         */
        JSAPI(1, "公众号支付/小程序支付"),
        /**
         * 扫码支付
         */
        NATIVE(2, "扫码支付"),
        /**
         * APP支付
         */
        APP(3, "APP支付"),;

        /**
         * 状态标识
         */
        private Integer code;

        /**
         * 描述
         */
        private String message;

        private PayType(int code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public Integer getCode() {
            return code;
        }

        @Override
        public String getMessage() {
            return message;
        }
    }

    /**
     * @author wx
     * @Description: 支付类型
     * @date 2018-10-31
     */
    public enum WeChatResult implements EnumStatus {
        /**
         * 成功
         */
        SUCCESS(1, "SUCCESS"),
        /**
         * 失败
         */
        FAIL(2, "FAIL"),;

        /**
         * 状态标识
         */
        private Integer code;

        /**
         * 描述
         */
        private String message;

        private WeChatResult(int code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public Integer getCode() {
            return code;
        }

        @Override
        public String getMessage() {
            return message;
        }
    }


    public enum WeChatLang implements EnumStatus {
        /**
         * 简体
         */
        ZH_CN(1, "zh_CN"),
        /**
         * 繁体
         */
        ZH_TW(2, "zh_TW"),
        /**
         * 英语
         */
        EN(3, "en "),;

        /**
         * 状态标识
         */
        private Integer code;

        /**
         * 描述
         */
        private String message;

        private WeChatLang(int code, String message) {
            this.code = code;
            this.message = message;
        }

        @Override
        public Integer getCode() {
            return code;
        }

        @Override
        public String getMessage() {
            return message;
        }
    }
}
